// 抽象类
// 定义抽象类
// 注意：抽象类不能再 new 为 实例
abstract class Animal{
    name: string
    constructor(name: string) {
        this.name = name
    }
    // 定义抽象方法
    // 注意：抽象方法不能有返回值，且子类必须重写
    abstract seyHello(): void
}

class Dog extends Animal{
    seyHello() {
        console.log('汪汪')
    }
}

const dog = new Dog('阿拉善')
console.log('Dog', dog.seyHello())